home *** CD-ROM | disk | FTP | other *** search
/ ftp.mactech.com 2010 / ftp.mactech.com.tar / ftp.mactech.com / machack / Hacks97 / WarriorsProgress.sit / Warrior’s Progress / source code / Source / Libraries / Views / Frame.h < prev    next >
Text File  |  1997-06-28  |  1KB  |  54 lines

  1. // Frame.h
  2.  
  3. #ifndef Frame_h
  4. #define Frame_h
  5.  
  6. #ifndef View_h
  7. #include "View.h"
  8. #endif
  9. #ifndef ArrangedPane_h
  10. #include "ArrangedPane.h"
  11. #endif
  12.  
  13. class Frame: public View
  14.   {
  15.     private:
  16.         ArrangedPane interior;
  17.         const Rectangle thickness;
  18.  
  19.     protected:
  20.         virtual void GainMapping();
  21.         virtual void LoseMapping();
  22.         virtual void ChangeBounds( Rectangle oldBounds );
  23.     
  24.     public:
  25.         Frame( Rectangle theThickness )
  26.           : interior( *this ),
  27.              thickness( theThickness )
  28.           {}
  29.         
  30.         const Pane& Interior() const            { return interior; }
  31.         Pane& Interior()                            { return interior; }
  32.         
  33.         virtual void Draw( const ViewMap& ) const;
  34.         
  35.         virtual void DrawBorder( const ViewMap&, Rectangle interior ) const = 0;
  36.         
  37.         virtual uint16 MinimumWidth() const;
  38.         virtual uint16 MinimumHeight() const;
  39.         
  40.         virtual uint16 MaximumWidth() const;
  41.         virtual uint16 MaximumHeight() const;
  42.         
  43.         virtual uint16 ReasonableWidth() const;
  44.         virtual uint16 ReasonableHeight() const;
  45.         
  46.         virtual uint16 BestWidth() const;
  47.         virtual uint16 BestHeight() const;
  48.         
  49.         virtual uint16 BestWidth( uint16 bound ) const;
  50.         virtual uint16 BestHeight( uint16 bound ) const;
  51.   };
  52.  
  53. #endif
  54.